home *** CD-ROM | disk | FTP | other *** search
- ===============================================================================
- Ladybug version 1.00
- ===============================================================================
-
- -------------------------------------------------------------------------------
- 1 Installation
-
- NOTE: $DJGPP means your djgpp directory, for example, C:\DJGPP.
-
- - In the $DJGPP directory, unzip the file ldgb100.zip, like so:
- (for pkzip, the invocation is pkunzip -d -o ldbg100). Be sure
- your unzip utility preserves the directory information stored
- in the zip file.
-
- - Copy the files ladybug and ladydpmi from $DJGPP/go32/fs to
- $DJGPP/bin.
-
- - IMPORTANT: If this is the FIRST time you are using Ladybug version
- 1.00, make sure that you read Sections 2 and 3 of this document
- before continuing!!!!
-
- - After setting up the LDBG environment variable (as outlined in
- Sections 2 and 3), reboot your computer.
-
- 2. Environment
-
- Ladybug uses a environment variable named LDBG. The syntax for
- setting this environment variable is as follows:
-
- set LDBG=value [value ...]
-
- where value can be one of:
-
- value meaning
- ---------------------------------------------------------------
- oldgo32 The current go32 does not support remote
- debugging. Don't check for the remote
- debugging command line switch.
- remote <com_num> Use com port number <com_num> to do remote
- debugging. <com_num> is a number from 1 to 4.
- sympath <path> Use <path> as the path to the symbol file.
- The default path is the path to the program
- being debugged.
- symname <name> Use <name> for symbol file. The default is
- the name of the program being debugged.
- symext <ext> Use <ext> as symbol file's extension.
- The default extension is ".sym".
-
- If you are not using a version of go32 that supports remote debugging
- (the only known versions that do are 1.11maint5n and 1.12maint3)
- or if you are not sure if your copy of go32 supports this feature,
- add the following into your autoexec.bat file:
-
- set LDBG=oldgo32
-
- If you wish to do remote debugging with LDBG set to oldgo32, then
- add the following to your autoexec.bat file:
-
- set LDBG=oldgo32 remote <com_num>
-
- where <com_num> is the com port number as described above.
-
- EXAMPLE:
-
- set LDBG=oldgo32 sympath /djgpp/syms symext sym
-
- which tells Ladybug to use the file
-
- /djgpp/syms/<program_name>.sym
-
- as the symbol file for
-
- <program_name>.<whatever>
-
- -------------------------------------------------------------------------------
- 3. Symbol file
-
- In order to conserve memory, Ladybug stores symbol information in
- a .sym file and reads from the file as necessary. The name of the
- file is the same as the name of the program being debugged,
- e.g. program.exe will typically accompany a program.sym file
- which contains symbol information.
-
- Ladybug uses timestamp and size information in order to determine if
- the .sym file contains the actual symbol information belonging to the
- target program being debugged. However, Ladybug WILL be fooled if
- the number of symbols in the target program corresponds to the
- number of symbols in the .sym file AND the timestamp of the program
- file corresponds to the information stored in the .sym file. This
- is unlikely, but be careful when "touching" the program file. To
- be safe, delete the .sym file every time you recompile.
-
- If reading the symbol file takes too long, defragment the file and
- restart Ladybug.
-
- To change the symbol file name, see Section 2 above.
-
- Any file (other than the symbol file itself) that has the same path,
- name, and extension as the symbol file WILL be OVERWRITTEN,
- therefore it is probably a good idea to set the symbol path to a
- seperate symbol directory (like /djgpp/syms) as outlined in Section 2
- above.
-
- Ladybug will not delete the symbol file for you. If you need more
- disk space, delete it yourself.
-
- ------------------------------------------------------------------------------
- 4. Running Ladybug
-
- Start Ladybug as you would normally start up the djgpp's debugger:
- + With LDBG=oldgo32 set:
- * In non-dpmi mode:
- go32 -d edebug32 app [args ...]
- * In DPMI mode:
- go32 -d ed32-dpm app [args ...]
- + Without LDBG=oldgo32 set:
- * In non-dpmi mode:
- go32 -d edebug32 [-com_num] app [args ...]
- * In DPMI mode:
- go32 -d ed32-dpm [-com_num] app [args ...]
-
- ** Without FSDB=oldgo32 set, the -com_num switch on the go32's
- command line (if there is one) is chosen rather than the "remote"
- parameter in the LDBG environment variable.
-
- ------------------------------------------------------------------------------
- 5. Bugs
-
- - Known bug: The performance analyzer will NOT work properly under
- DPMI due to the different stack that DPMI provided to the timer
- interrupt handler.
-
- - Unknown bugs: Please report to:
-
- ld@netrix.com
-